/*******************************************************************************************
 *  ChangeSpeed.h
 *
 *  Creating and managing ChangeSpeed object structures.
 *
 *******************************************************************************************/







/*******************************************************************************************
 *  INCLUDES :
 *******************************************************************************************/
#include "BulletMLConsts.h"
#include "BulletMLTypes.h"
#include "Speed.h"







/*******************************************************************************************
 *  TYPE definitions :
 *******************************************************************************************/

/* The CHANGESPEED object strucuture definition : */
#ifndef _CHANGESPEED_STRUCT_
#define _CHANGESPEED_STRUCT_
typedef struct {

	ObjType		otype;						/* The object's type, as in the ...     */
											/* ... BulletML type enum.              */

	char		*term;						/* The number of frames the change ...  */
											/* ... will take.                       */

	Speed		*speed;						/* The final speed we want to shift to. */

} ChangeSpeed;
#endif







/*******************************************************************************************
 *  Function PROTOTYPES :
 *******************************************************************************************/

/* CONSTRUCTOR and DESTRUCTOR : */
ChangeSpeed	*newChangeSpeed(void);					/* Creates an empty ChangeSpeed object strucutre. */
void 		freeChangeSpeed(ChangeSpeed *cs);		/* Destroys an ChangeSpeed object structure.      */ 


/* FILLING the ChangeSpeed object structure : */
void 		setChangeSpeedTerm(ChangeSpeed *cs, char *t);
void 		setChangeSpeedSpeed(ChangeSpeed *cs, Speed *s);
